package com.imooc.socket;

import java.io.IOException;
import java.net.*;
import java.util.Scanner;

public class UDPClient {    // 客户端

    public static void main(String[] args) throws IOException {


        DatagramSocket socket = new DatagramSocket();
        // 将IP地址封装成InetAddress对象
        InetAddress address = InetAddress.getByName("127.0.0.1");


        Scanner input = new Scanner(System.in);
        // 客户端发数据给服务端
        // 客户端要发送给服务端的数据(从键盘读取)
        System.out.println("----------------------");
        System.out.print("请输入您（客户端）要发送给服务端的信息：");
        byte[] buff = input.nextLine().getBytes();
        // 将要发送给服务端的数据封装成DatagramPacket对象，需要填上ip地址和端口号
        DatagramPacket packet = new DatagramPacket(buff, buff.length, address, 65001);
        // 发送数据给服务器端
        socket.send(packet);


        // 客户端接收服务端发送过来的数据报
        byte[] data = new byte[100];
        // 创建DatagramPacket对象来存储服务端发送过来的数据
        DatagramPacket receivedPacket = new DatagramPacket(data, data.length);
        // 将接收到的对象存储到DatagramSocket对象中
        socket.receive(receivedPacket);
        // 将服务端发送过来的数据读取并打印到控制台
        String content = new String(receivedPacket.getData(),
                0, receivedPacket.getLength());
        System.out.println("接收到服务器端的内容如下");
        System.out.println("您的长度：" + content);
    }
}
